import pymysql


class DBHandle():
    """数据库的操作"""

    def __init__(self,host="127.0.0.1",port=3306,username="root",
                 password="",db_name="huile"):
        """数据库的初始化"""
        # 1. 建立连接 ,得到数据库的连接对象
        self.connection = pymysql.connect(host=host,
                                     port=port,
                                     user=username,
                                     password=password,
                                     database=db_name)
        # # 2. 得到一个游标的对象(光标)
        # cursor = connection.cursor()

    def query_one(self, sql):
        """查询一条记录"""
        # 2. 得到一个游标的对象(光标)
        cursor = self.connection.cursor()
        # ====数据库的提交 。可以实时更新目前的数据状态
        self.connection.commit()

        # 3. execute(sql)  具体的去执行sql
        cursor.execute(sql)
        # 4、获取查询结果
        res = cursor.fetchone()
        # 5、关闭游标
        cursor.close()
        return res

    def query_all(self,sql):
        """查询所有记录"""
        # 2. 得到一个游标的对象(光标)
        cursor = self.connection.cursor()
        # ====数据库的提交 。可以实时更新目前的数据状态
        self.connection.commit()

        # 3. execute(sql)  具体的去执行sql
        cursor.execute(sql)
        # 4、获取查询结果
        res = cursor.fetchall()
        # 5、关闭游标
        cursor.close()
        return res



if __name__ == '__main__':
    db = DBHandle()
    sql = "select name from xuesheng;"
    res = db.query_one(sql)
    print(res)

    res2 = db.query_all(sql)
    print(res2)